import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import spring.demo.Student;

public class App2 {
    public static void main(String[] args) {
        //1.得到Spring上下文对象
        //这个和Application是一样的，也是代表的Spring本身
        BeanFactory beanFactory = new
                XmlBeanFactory(new ClassPathResource("String-config.xml"));
        //2.从Spring容器中获取bean对象
        Student student = (Student) beanFactory.getBean("student");
        //3.使用bean对象
        student.sayHi();
    }
}
/*但是BeanFactory不一样，只有当执行到第二行代码的时候（调用到getBean方法），也就是获取某一个spring对象的时候，此时才会
* 开始初始化这个对象，也就是单例模式中的懒汉模式*/
/*BeanFactory的特征：节省了内存，调用时才会加载初始化bean对象到Spring容器中，但是效率不高*/